package com.niuwa.p2p.vo.business;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import com.niuwa.p2p.entity.productTemplate.ProductProtocol;

/**
 * 投资产品信息
 * 
 * @author lijian
 *
 */
public class InvestPlanProductVo implements Serializable {
	private static final long serialVersionUID = 1750356354981893231L;
	/**
	 * 产品类型
	 * 
	 * @pdOid 31ab6ccd-67fe-401d-94a6-9bd3b8a27f54
	 */
	private java.lang.String planProdType;
	/**
	 * 募集规模
	 * 
	 * @pdOid 2e2566c9-f222-4c90-b39a-a3868f52ce9f
	 */
	private BigDecimal collectAmount;
	/**
	 * 投资期限
	 * 
	 * @pdOid 710114e4-9dbf-4961-a2b9-07872a41bd06
	 */
	private Integer investTerm;
	/**
	 * 投资期限单位
	 * 
	 * @pdOid 39a8efb7-0d3e-4fab-9d9b-340682081660
	 */
	private java.lang.String termType;
	/**
	 * 预期年化收益率
	 * 
	 * @pdOid 72d85584-dcb0-43fa-b4c0-971d8ef6ad57
	 */
	private BigDecimal yearRate;

	/**
	 * 收益说明
	 * 
	 * @pdOid 6feb7245-7425-443b-9dac-88464d80ce75
	 */
	private java.lang.String incomeDesc;
	/**
	 * 服务费率
	 * 
	 * @pdOid 1f2ced27-0718-441d-b56d-ce41cc816b64
	 */
	private BigDecimal serviceRate;
	/**
	 * 退出费率
	 * 
	 * @pdOid 1da0359d-f3f3-46aa-9fe4-415d95257210
	 */
	private BigDecimal exitRate;
	/**
	 * 保障方式
	 * 
	 * @pdOid aa125afa-5654-44a3-8abd-b72ccdcfe407
	 */
	private java.lang.String guaranteeMethod;
	/**
	 * 计息日期
	 * 
	 * @pdOid 1766d50c-cfbe-4bd5-961c-fd533844dce8
	 */
	private java.util.Date startInterestTime;
	/**
	 * 完成进度
	 * 
	 * @pdOid cd7c3321-a810-4af9-a4b9-49cf715257e8
	 */
	private BigDecimal completedProgress;
	/**
	 * 剩余金额
	 * 
	 * @pdOid a01ad12e-e53e-4584-878d-e2e6c997f235
	 */
	private BigDecimal remainAmount;
	/**
	 * 产品状态
	 * 
	 * @pdOid d0adfa52-890f-490c-8699-759b6391d777
	 */
	private java.lang.String prodStatus;
	/**
	 * 募集规模是否限制
	 * 
	 * @pdOid dd9f7f1b-e042-4338-b8c3-befea59a1df9
	 */
	private java.lang.String isCollectLimit;
	/**
	 * 产品编号
	 * 
	 * @pdOid 938aca18-547e-49ef-8f57-6fb46d61956e
	 */
	private java.lang.String productCode;
	/**
	 * 产品模板ID
	 * 
	 * @pdOid 067fbdb6-679b-4c08-bc45-e17b4b29ee4c
	 */
	private Long tempId;
	/**
	 * 产品名称
	 * 
	 * @pdOid c6312ec7-4b6a-4716-8c0b-c0b6d89b9da6
	 */
	private java.lang.String productName;
	/**
	 * 产品简介
	 * 
	 * @pdOid 25572f39-4a02-4681-9238-80f33c2173a1
	 */
	private java.lang.String prodDesc;
	/**
	 * 到期状态
	 * 
	 * @pdOid bfdbfd64-cacd-4017-a0dd-8062ef94fbde
	 */
	private java.lang.String expireStatus;
	/**
	 * 投资人数
	 * 
	 * @pdOid b2926f07-802d-4087-a8a1-6e23264dfc98
	 */
	private Integer investorCount;
	/**
	 * 产品到期日
	 * 
	 * @pdOid 24f46e84-1e96-46ac-814a-19df08031e01
	 */
	private java.util.Date expireTime;
	/**
	 * 起售时间
	 * 
	 * @pdOid 2f9bc465-95bb-4f09-a88e-20c374076cbd
	 */
	private java.util.Date startSellTime;
	/**
	 * 停售时间
	 * 
	 * @pdOid ab807056-e5a2-4ddc-ae85-2ee58f4adcea
	 */
	private java.util.Date endSellTime;
	/**
	 * 创建时间
	 * 
	 * @pdOid be28d582-a57e-43e7-bf74-26f39eb42327
	 */
	private java.util.Date createTime;
	/**
	 * 产品类型
	 * 
	 * @pdOid 33f16d5d-e8c8-41b8-9ef0-50b6ce7c7e2f
	 * */
	private java.lang.String prodType;
	/**
	 * 开放用户
	 * 
	 * @pdOid 57fce3ca-3e80-4dea-b516-d0209c56bc1f
	 */
	private java.lang.String openCustomer;
	/**
	 * 用户来源
	 * 
	 * @pdOid 51de2b6c-8a8a-46a6-a171-c4a94f5660c5
	 */
	private java.lang.String customerOrigin;
	/**
	 * 发布时间
	 * 
	 * @pdOid a3b1fb83-9151-471a-a7ed-68cf11010f9a
	 */
	private java.util.Date releaseTime;
	/**
	 * 有效期限
	 * 
	 * @pdOid f3e37b84-4a8a-4e45-9367-5da2de32fac7
	 */
	private Integer validTerm;
	/**
	 * 是否限制有效期限
	 * 
	 * @pdOid 7c525edc-95f5-49bc-b39b-48e3805bd3b5
	 */
	private java.lang.String isValidTerm;
	/**
	 * 起售金额
	 * 
	 * @pdOid 2ca63e16-f86d-4cca-b81f-3aaf9fed8b20
	 */
	private BigDecimal minAmount;
	/**
	 * 购买上限
	 * 
	 * @pdOid 607dc95a-6dec-4866-bedd-8f139b4ee387
	 */
	private BigDecimal maxAmount;
	/**
	 * 递增金额
	 * 
	 * @pdOid cb2d46b5-6eda-4c48-bb38-ccb50a06ac8a
	 */
	private BigDecimal stepAmount;
	/**
	 * 附加收益
	 * 
	 * @pdOid 8ec81566-cfb9-4835-84be-52892d7261b1
	 */
	private BigDecimal addYield;
	/**
	 * 操作人
	 * 
	 * @pdOid 404455d0-d7fa-433f-a02a-307b866fe770
	 */
	private Long operator;
	/**
	 * 审核人
	 * 
	 * @pdOid d2d28ab7-4447-4430-80f9-0755cf4dc83a
	 */
	private Long auditor;
	/**
	 * 最低持有期限
	 * 
	 * @pdOid d39a0990-b815-492e-8f11-1bd7a95f8599
	 */
	private Integer minHoldTerm;
	/**
	 * 持有期限周期
	 * 
	 * @pdOid c66e63a8-a336-43a6-a007-db597cd33fb1
	 */
	private java.lang.String holdTermType;

	/**
	 * 协议id
	 */
	private String[] protId;

	/**
	 * 操作人姓名
	 */
	private String operatorName;

	/**
	 * 审核人姓名
	 */
	private String auditorName;

	private String yieldDesc;

	/**
	 * 产品编号
	 * 
	 * @pdOid 938aca18-547e-49ef-8f57-6fb46d61956e
	 */
	private java.lang.String prodCode;
	/**
	 * 发布时间小时
	 */
	private String releaseTimeHr;
	/**
	 * 起售时间小时
	 */
	private String startSellTimeHr;

	/**
	 * 模板名称
	 */
	private String tempName;

	/**
	 * 是否允许提前退出
	 */
	private String isEarlyExit;

	/**
	 * 有效期限周期
	 */
	private String validTermType;

	/**
	 * 产品绑定的协议列表
	 */
	private List<ProductProtocol> productProtocols;

	/**
	 * 项目操作备注
	 */
	private String remark;

	/**
	 * 项目操作人名称
	 */
	private String noPassAuditName;

	/**
	 * 项目操作时间
	 */
	private java.util.Date noPassActionTime;

	/*
	 * 债权列表
	 */
	private List<LoanClaimOriginVo> originVos;

	/**
	 * 产品旧状态
	 */
	private String oldProdStatus;
	
	/** 版本号 */
	private long version;

	public java.lang.String getPlanProdType() {
		return planProdType;
	}

	public void setPlanProdType(java.lang.String planProdType) {
		this.planProdType = planProdType;
	}

	public BigDecimal getCollectAmount() {
		return collectAmount;
	}

	public void setCollectAmount(BigDecimal collectAmount) {
		this.collectAmount = collectAmount;
	}

	public Integer getInvestTerm() {
		return investTerm;
	}

	public void setInvestTerm(Integer investTerm) {
		this.investTerm = investTerm;
	}

	public java.lang.String getTermType() {
		return termType;
	}

	public void setTermType(java.lang.String termType) {
		this.termType = termType;
	}

	public BigDecimal getYearRate() {
		return yearRate;
	}

	public void setYearRate(BigDecimal yearRate) {
		this.yearRate = yearRate;
	}

	public String getYieldDesc() {
		return yieldDesc;
	}

	public void setYieldDesc(String yieldDesc) {
		this.yieldDesc = yieldDesc;
	}

	public java.lang.String getIncomeDesc() {
		return incomeDesc;
	}

	public void setIncomeDesc(java.lang.String incomeDesc) {
		this.incomeDesc = incomeDesc;
	}

	public void setIsCollectLimit(java.lang.String isCollectLimit) {
		this.isCollectLimit = isCollectLimit;
	}

	public BigDecimal getServiceRate() {
		return serviceRate;
	}

	public void setServiceRate(BigDecimal serviceRate) {
		this.serviceRate = serviceRate;
	}

	public BigDecimal getExitRate() {
		return exitRate;
	}

	public void setExitRate(BigDecimal exitRate) {
		this.exitRate = exitRate;
	}

	public java.lang.String getGuaranteeMethod() {
		return guaranteeMethod;
	}

	public void setGuaranteeMethod(java.lang.String guaranteeMethod) {
		this.guaranteeMethod = guaranteeMethod;
	}

	public java.util.Date getStartInterestTime() {
		return startInterestTime;
	}

	public void setStartInterestTime(java.util.Date startInterestTime) {
		this.startInterestTime = startInterestTime;
	}

	public BigDecimal getCompletedProgress() {
		return completedProgress;
	}

	public void setCompletedProgress(BigDecimal completedProgress) {
		this.completedProgress = completedProgress;
	}

	public BigDecimal getRemainAmount() {
		return remainAmount;
	}

	public void setRemainAmount(BigDecimal remainAmount) {
		this.remainAmount = remainAmount;
	}

	public java.lang.String getProdStatus() {
		return prodStatus;
	}

	public void setProdStatus(java.lang.String prodStatus) {
		this.prodStatus = prodStatus;
	}

	public java.lang.String getIsCollectLimit() {
		return isCollectLimit;
	}

	public java.lang.String getProductCode() {
		return productCode;
	}

	public void setProductCode(java.lang.String productCode) {
		this.productCode = productCode;
	}

	public Long getTempId() {
		return tempId;
	}

	public void setTempId(Long tempId) {
		this.tempId = tempId;
	}

	public java.lang.String getProductName() {
		return productName;
	}

	public void setProductName(java.lang.String productName) {
		this.productName = productName;
	}

	public java.lang.String getProdDesc() {
		return prodDesc;
	}

	public void setProdDesc(java.lang.String prodDesc) {
		this.prodDesc = prodDesc;
	}

	public java.lang.String getExpireStatus() {
		return expireStatus;
	}

	public void setExpireStatus(java.lang.String expireStatus) {
		this.expireStatus = expireStatus;
	}

	public Integer getInvestorCount() {
		return investorCount;
	}

	public void setInvestorCount(Integer investorCount) {
		this.investorCount = investorCount;
	}

	public java.util.Date getExpireTime() {
		return expireTime;
	}

	public void setExpireTime(java.util.Date expireTime) {
		this.expireTime = expireTime;
	}

	public java.util.Date getStartSellTime() {
		return startSellTime;
	}

	public void setStartSellTime(java.util.Date startSellTime) {
		this.startSellTime = startSellTime;
	}

	public java.util.Date getEndSellTime() {
		return endSellTime;
	}

	public void setEndSellTime(java.util.Date endSellTime) {
		this.endSellTime = endSellTime;
	}

	public java.util.Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(java.util.Date createTime) {
		this.createTime = createTime;
	}

	public java.lang.String getProdType() {
		return prodType;
	}

	public void setProdType(java.lang.String prodType) {
		this.prodType = prodType;
	}

	public java.lang.String getOpenCustomer() {
		return openCustomer;
	}

	public void setOpenCustomer(java.lang.String openCustomer) {
		this.openCustomer = openCustomer;
	}

	public java.lang.String getCustomerOrigin() {
		return customerOrigin;
	}

	public void setCustomerOrigin(java.lang.String customerOrigin) {
		this.customerOrigin = customerOrigin;
	}

	public java.util.Date getReleaseTime() {
		return releaseTime;
	}

	public void setReleaseTime(java.util.Date releaseTime) {
		this.releaseTime = releaseTime;
	}

	public Integer getValidTerm() {
		return validTerm;
	}

	public void setValidTerm(Integer validTerm) {
		this.validTerm = validTerm;
	}

	public java.lang.String getIsValidTerm() {
		return isValidTerm;
	}

	public void setIsValidTerm(java.lang.String isValidTerm) {
		this.isValidTerm = isValidTerm;
	}

	public BigDecimal getMinAmount() {
		return minAmount;
	}

	public void setMinAmount(BigDecimal minAmount) {
		this.minAmount = minAmount;
	}

	public BigDecimal getMaxAmount() {
		return maxAmount;
	}

	public void setMaxAmount(BigDecimal maxAmount) {
		this.maxAmount = maxAmount;
	}

	public BigDecimal getStepAmount() {
		return stepAmount;
	}

	public void setStepAmount(BigDecimal stepAmount) {
		this.stepAmount = stepAmount;
	}

	public BigDecimal getAddYield() {
		return addYield;
	}

	public void setAddYield(BigDecimal addYield) {
		this.addYield = addYield;
	}

	public Long getOperator() {
		return operator;
	}

	public void setOperator(Long operator) {
		this.operator = operator;
	}

	public Long getAuditor() {
		return auditor;
	}

	public void setAuditor(Long auditor) {
		this.auditor = auditor;
	}

	public Integer getMinHoldTerm() {
		return minHoldTerm;
	}

	public void setMinHoldTerm(Integer minHoldTerm) {
		this.minHoldTerm = minHoldTerm;
	}

	public java.lang.String getHoldTermType() {
		return holdTermType;
	}

	public void setHoldTermType(java.lang.String holdTermType) {
		this.holdTermType = holdTermType;
	}

	public String[] getProtId() {
		return protId;
	}

	public void setProtId(String[] protId) {
		this.protId = protId;
	}

	public String getOperatorName() {
		return operatorName;
	}

	public void setOperatorName(String operatorName) {
		this.operatorName = operatorName;
	}

	public String getAuditorName() {
		return auditorName;
	}

	public void setAuditorName(String auditorName) {
		this.auditorName = auditorName;
	}

	public java.lang.String getProdCode() {
		return prodCode;
	}

	public void setProdCode(java.lang.String prodCode) {
		this.prodCode = prodCode;
	}

	public String getReleaseTimeHr() {
		return releaseTimeHr;
	}

	public void setReleaseTimeHr(String releaseTimeHr) {
		this.releaseTimeHr = releaseTimeHr;
	}

	public String getStartSellTimeHr() {
		return startSellTimeHr;
	}

	public void setStartSellTimeHr(String startSellTimeHr) {
		this.startSellTimeHr = startSellTimeHr;
	}

	public String getTempName() {
		return tempName;
	}

	public void setTempName(String tempName) {
		this.tempName = tempName;
	}

	public String getIsEarlyExit() {
		return isEarlyExit;
	}

	public void setIsEarlyExit(String isEarlyExit) {
		this.isEarlyExit = isEarlyExit;
	}

	public String getValidTermType() {
		return validTermType;
	}

	public void setValidTermType(String validTermType) {
		this.validTermType = validTermType;
	}

	public List<ProductProtocol> getProductProtocols() {
		return productProtocols;
	}

	public void setProductProtocols(List<ProductProtocol> productProtocols) {
		this.productProtocols = productProtocols;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getNoPassAuditName() {
		return noPassAuditName;
	}

	public void setNoPassAuditName(String noPassAuditName) {
		this.noPassAuditName = noPassAuditName;
	}

	public java.util.Date getNoPassActionTime() {
		return noPassActionTime;
	}

	public void setNoPassActionTime(java.util.Date noPassActionTime) {
		this.noPassActionTime = noPassActionTime;
	}

	public List<LoanClaimOriginVo> getOriginVos() {
		return originVos;
	}

	public void setOriginVos(List<LoanClaimOriginVo> originVos) {
		this.originVos = originVos;
	}

	public String getOldProdStatus() {
		return oldProdStatus;
	}

	public void setOldProdStatus(String oldProdStatus) {
		this.oldProdStatus = oldProdStatus;
	}

	public long getVersion() {
		return version;
	}

	public void setVersion(long version) {
		this.version = version;
	}

}
